perm filename JEFF.TO[UCI,SYS] blob sn#046091 filedate 1973-07-03 generic text, type T, neo UTF8
this is from bruce anderson DBA
	I've just tried getting the UCI version of Conniver up
and had some trouble.

1.  Compiler gives error message and stops
	CREMOVE
	*COMPILER ERROR* LDLSTLEFT - PASS2
Cremove is the last function name mentioned, though the LAP file
contains code for the two following functions REMOVE and INSERT,
but stops there.

2.  Loading bugs out with reg. pdl overflow (even with it set to
2000) when loading SEPARATOR.  At least, NXTCHR is the last name
printed out.

The bits of code are the following:


Compiler doesn't like this

	(DEFPROP CREMOVE
	 (LAMBDA N (UNREALIZE (DATUMIZE (ARG 1)) (COND ((GETCONTEXT 1 N)) ((ARG N)))
))
	EXPR)
	
	(DEFPROP REMOVE
	 ((THING "OPTIONAL" (CONTEXT CONTEXT)) (UNREALIZE (/@ DATUMIZE (/, THING)) C
ONTEXT))
	CEXPR)
	
	(DEFPROP INSERT
	 (LAMBDA N ((LAMBDA (D) (REVEAL D (COND ((GETCONTEXT 1 N)) ((ARG N)))) D) (D
ATUMIZE (ARG 1))))
	EXPR)
	
	(DEFPROP KILL
	 (LAMBDA N ((LAMBDA (D) (HIDE D (COND ((GETCONTEXT 1 N)) ((ARG N)))) D) (DAT
UMIZE (ARG 1))))
	EXPR)
	
Lisp troublemaker

	(DEFPROP NXTCHR
	 (LAMBDA NIL (INTERN (ASCII TYIPEEK))))
	EXPR)

	(DEFPROP SEPARATOR
	 (LAMBDA (CHAR) (MEMQ# CHAR (QUOTE (/  /	 /) /] /} /
	/))))
	EXPR)

Lap troublemaker

(LAP NXTCHR SUBR) 
	       (CALL 0 (E TYIPEEK) S) 
	       (CALL 1 (E ASCII) S) 
	       (JCALL 1 (E INTERN) S) 
	       NIL 

	(LAP SEPARATOR SUBR) 
 09800	       (MOVEI 2 (QUOTE (/  /	 /) /] /⎇ /
	 /)) S)  (JCALL 2 (E MEMQ#) S) 
	       NIL 

	(SETQ *INDEXTHRESHOLD 12) 

The compiler we got from you was 4-FEB-72: is this the latest?
It does not seem to like multi-expression internal lambdas, but
John is looking at it.  The SEPARATOR thing works ok- the bug
was further on.  Our system recognizes several altmodes.
Light on the problems.  The loading problem was to do wiht
our editor gobbling up single linefeeds and returns and
so in SEPARATOR one of the parens was slashified and the rest
of the file fell into the list of separators!
The compiler we got from you [4 FEB 1973, says your tape]
does not always like lambda bodies with more than one
expression in them.  Wrapping with PROGN works except in the
case of internal lambdas, when (PROG NIL....(RETURN..)) is
needed.  I had to fix the following in CNVR:
FETCHM, INSERT, KILL, ACTUALIZE, UNACTUALIZE, CFRAME, GCCON.
However on simple examples I tried later the compiler
worked OK: do you use a later version?
We have some problems of our own: our segment UUOs are not
the same as yours and we have had up to four copies of the
high seg floating around simultaneously!  Fixing is under
way.  Everyone who has used  the new system is very
pleased with it: I think that most people will switch over
to it.  I hope to get someone to make a display-oriented
version of the editor in the summer.
			Bruce.
THANKS FOR NOTE.  The Getseg thing is nearly done, the ppn
thing was done early on. [John Allen is an old-time Lisp
hacker!].  We have a version with a Stanford conditional
compilation switch and will send you a copy when it is all
running properly.  The Lisp course is using UCILISP and
the manuals are on sale here now, at $3.50 (couldn't
undercut you!).  I got Conniver up OK - there is a new
version at MIT which we will probably get up and then send
to you.  I will find some non-compiling code and tell you
about it.  Can you transfer code from here to your machine
over the net somehow? - I guess not or we wouldn't be sending
DECtapes back and forth.  I will send you some tapes for the
compilers, with losing code on if poss.
					Bruce.
From Bruce.  I will leave copies of messages here so I can refer
to them.  And I know it is spelled JeffrEy but our silly system
only allows 6 characters for filenames.  But as you see, I
changed it to Jeff.  I am sending some Dectapes and a shopping
list.  May take a trip down to see you soon - think Lab will
pay for it.  Is the ocean warm enough to swim in near you?  Up
here it is fffreezing!
OK OK OK. 
FIRST: DON'T TELL US ABOUT SYS AND SAVING ETC BECAUSE
*****OUR MONITOR IS DIFFERENT*****
SECOND: INDEED A BAD VERSION GOT PUT UP WITH SOME NEW SEGMENT
CODE, BUT THE FIRST ONE WAS OK AND EVERYTHING IS UNDER CONTROL.
A STUDENT WAS DOING THE HACKING AND FLUSHED THE WORKING ONE
(WHICH DIDNT DO SEGS PROPERLY BUT RAN LISP OK) BEFORE CHECKING
HIS NEW ONE OUT.  BREAK ETC WORKS FINE IN THE ORIGINAL AND WILL
BE OK IN THE NEW ONE.
29-APR-73  1531		FOO,DBA